//
// Created by Administrator on 2022/6/14.
//

#ifndef PRJ_SO_DEVICEFUN_H
#define PRJ_SO_DEVICEFUN_H
//
// Created by Administrator on 2022/6/14.
//


/**
   * @param Portstr
   * @return
   */
int Device_Port(uchar* Portstr);

/**
 * @return
 */
//串口初始化
int Device_Init();

/**
 * @return
 */
int Device_Close(int porthandler);


/**开门
 * @param porthandler,串口句柄
 * @param no，通道号
 * @param times，开门时间，触发时间，0x0000,一直开
 * @return
 */
int Device_DoorOpen(int porthandler ,uchar  no,int times);

/**关闭
 * @param porthandler,串口句柄
 * @param no，通道号，
 * @return
 */
int Device_DoorClose(int porthandler,uchar no);

/**检测门状态
 * @param porthandler,串口句柄
 * @param no，通道号
 * @return
 */
int Device_DoorCheck(int porthandler,uchar no);

//称重
int Device_weigher_Getversion(int porthandler,uchar* buf);
/**设置参数
 * @param porthandler ,串口句柄
 * @param buf，返回数据
 * @return，=0 成功，其他值错误
 */
int Device_WeigherSetParam(int porthandler,uchar* buf);


/**获取参数
 * @param porthandler,串口句柄
 * @param dbuf
 * @return =0 成功，其他值错误
 */
int Device_WeigherGetParam(int porthandler,uchar* dbuf);



/** 单通道校正，置零
 * @param porthandler
 * @param no
 * @return =0 成功，其他值错误
 */
int Device_WeigherAdjust(int porthandler,uchar no);


/**所有通道校正
 * @param porthandler
 * @return =0 成功，其他值错误
 */
int Device_WeigherAdjustALL(int porthandler);

/**获得单通道重量
 * @param porthandler,串口句柄
 * @param no，通道号，1~10
 * @param buf
 * @return =0 成功，其他值错误
 */
int Device_WeigherGet(int porthandler,uchar no,uchar* buf);

/**，获取全部通道重量
 * @param porthandler,串口句柄
 * @param no，通道号 ，通道号
 * @param buf，
 * @return
 */
int Device_WeigherGetAll(int porthandler,uchar no,uchar* buf);


//串口透传数据
/**
 * @param porthandler,串口句柄
 * @param no，通道号
 * @param slen
 * @param sendbuf
 * @param rlen
 * @param recbuf
 * @param timeout
 * @return =0 成功，其他值错误
 */

int Device_WeigherCablierate(int porthandler,uchar no,int value);
int Device_WeigherCablierateALL(int porthandler,int value);

int Device_UartSendRecv(int porthandler,uchar no,int slen,uchar* sbuf,int *rlen,uchar* rbuf,int timeout);


#endif //PRJ_SO_DEVICEFUN_H
